package com.nut.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nut.api.req.UpdatePasswordReq;
import com.nut.api.resp.UserInfoResp;
import com.nut.common.Result;
import com.nut.entity.SysUser;

import java.io.Serializable;
import java.util.Set;

public interface SysUserService {

    /**
     * 用户分页显示
     *
     * @param username 用户名
     * @param mobile   手机号
     * @param deptCode 部门编码
     * @param status   状态
     * @param pageNo
     * @param pageSize
     * @return
     */
    Result<IPage<SysUser>> list(String username, String mobile, String deptCode, Integer status, Integer pageNo, Integer pageSize);

    SysUser getById(Serializable id);

    // 添加用户和角色ID
    Result add(SysUser sysUser);

    // 更新用户和角色ID
    Result updateById(SysUser sysUser);

    Result updatePassword(UpdatePasswordReq updatePassReq) throws Exception;

    Result deleteByIds(Set<Integer> ids);

    Result<UserInfoResp> getUserInfo(Integer userId, String username);

}
